const { readHTML, closeAll } = require('./getContentThoughHeadLess')
const fs = require('fs')
const cheerio = require('cheerio')
const { log } = require('console')

const startURL = 'https://www.zhipin.com/c101060100-p100901/?page='
const startpage = 1
const pages_total = 10
const data_list = []

// 起始页
async function startSpaider() {
  try {
    for (let index = startpage; index < pages_total + 1; index++) {
      console.log(`开始获取${index}页`)

      let result = await readHTML(`${startURL}${index}`, 5000)
      console.log(`开始解析${index}页`)
      parseHTML(result)
      // 写入文件 关闭浏览器
      if (index == pages_total) {
        fs.writeFileSync('data.json', JSON.stringify(data_list))
        closeAll()
      }
    }
  } catch (error) {
    console.log(error)
    closeAll()
  }
}

// 当页的item #main > div > div.job-list > ul > li

// 地点 span[class=job-area]
// 行业 a[class=false-link]
// 规模 em[class=vline]
// 技能标签 div[class=tags] > span[class=tag-item]
// 公司福利 div[class=info-desc]
// 公司名称 h3[class=name]>a
// 工资多少 div>span[class=red]

function parseHTML(data) {
  // 解析内容
  let $ = cheerio.load(data)
  $('#main > div > div.job-list > ul > li').each(function () {
    //   初始化数据模型
    let item_data = {}
    //   地点区域数据
    item_data.address = $(this).find('span[class=job-area]').text()
    // 行业数据
    item_data.industry = $(this).find('a[class=false-link]').text()
    // 规模
    item_data.howbig = $(this).find('div[class=company-text]>p').text()
    // 技能标签 - 数组
    let skill_tags = []
    $(this)
      .find('div[class=tags] > span[class=tag-item]')
      .each(function () {
        skill_tags.push($(this).text())
      })
    item_data.skill_tags = skill_tags
    // 公司福利
    item_data.well_bing = $(this).find('div[class=info-desc]').text()
    // 公司名称
    item_data.comp_name = $(this).find('h3[class=name]>a').text()
    // 工资
    item_data.wage = $(this).find('div>span[class=red]').text()
    data_list.push(item_data)
  })
}

startSpaider()

console.log('21341234')
